/*
  Name: DeadProxyClientPlayer.h
  Copyright:
  Author: Carl Chatfield
  Date: 10/02/08 14:23
  Description: Stores Player Data
*/

#ifndef __DEADPROXYCLIENTPLAYER_h__
#define __DEADPROXYCLIENTPLAYER_h__

#ifdef __BORLANDC__
	#pragma hdrstop
#endif

#ifndef WX_PRECOMP
	#include <wx/wx.h>
#else
	#include <wx/wxprec.h>
#endif

#include "DeadProxyDefinitions.h"

class PlayerInfo
{
    private:
        struct Player
        {
            int MaxHp;
            int Hp;
            int MaxMana;
            int Mana;
            int Stamina;
            int Cap;
            int Exp;
            int Level;
            int LevelPercent;
            int MagicLevel;  
            int MagicLevelPercent;
            int Fist;
            int FistPercent;
            int Club;
            int ClubPercent;
            int Sword;
            int SwordPercent;
            int Axe;
            int AxePercent;
            int Distance;
            int DistancePercent;
            int Shielding;
            int ShieldingPercent;
            int Fishing;
            int FishingPercent;
            int Soul;
            int PlayerId;
            int x;
            int y;
            int z;
            unsigned short Status;
            Thing Equiptment[10];
        };
        
        Player player;
    public:
        void SetMaxHp(int MaxHp);
        int GetMaxHp();
        
        void SetHp(int Hp);
        int GetHp();
        
        void SetMaxMana(int MaxMana);
        int GetMaxMana();
        
        void SetMana(int Mana);
        int GetMana();
        
        void SetStamina(int Stamina);
        int GetStamina();
        
        void SetCap(int Cap);
        int GetCap();
        
        void SetExp(int Exp);
        int GetExp();
        
        void SetLevel(int Level);
        int GetLevel();
        
        void SetLevelPercent(int LevelPercent);
        int GetLevelPercent();
        
        void SetMagicLevel(int MagicLevel);
        int GetMagicLevel();
        
        void SetMagicLevelPercent(int MagicLevelPercent);
        int GetMagicLevelPercent();
        
        void SetFist(int Fist);
        int GetFist();
        
        void SetFistPercent(int FistPercent);
        int GetFistPercent();
                
        void SetClub(int Club);
        int GetClub();
        
        void SetClubPercent(int ClubPercent);
        int GetClubPercent();
        
        void SetSword(int Sword);
        int GetSword();

        void SetSwordPercent(int SwordPercent);
        int GetSwordPercent();
        
        void SetAxe(int Axe);
        int GetAxe();

        void SetAxePercent(int AxePercent);
        int GetAxePercent();

        void SetDistance(int Distance);
        int GetDistance();
        
        void SetDistancePercent(int DistancePercent);
        int GetDistancePercent();
        
        void SetShielding(int Shielding);
        int GetShielding();

        void SetShieldingPercent(int ShieldingPercent);
        int GetShieldingPercent();
        
        void SetFishing(int Fishing);
        int GetFishing();

        void SetFishingPercent(int FishingPercent);
        int GetFishingPercent();
        
        void SetSoul(int Soul);
        int GetSoul();
        
        void SetPlayerId(int PlayerId);
        int GetPlayerId();
        
        void SetX(int x);
        int GetX();
        
        void SetY(int y);
        int GetY();
        
        void SetZ(int z);
        int GetZ();
        
        void SetHeadSlot(Thing * HeadSlot);
        Thing * GetHeadSlot();
        
        void SetArmorSlot(Thing * ArmorSlot);
        Thing * GetArmorSlot();
        
        void SetLeftSlot(Thing * LeftSlot);
        Thing * GetLeftSlot();
        
        void SetRightSlot(Thing * RightSlot);
        Thing * GetRightSlot();
        
        void SetLegsSlot(Thing * LegsSlot);
        Thing * GetLegsSlot();
        
        void SetFeetSlot(Thing * FeetSlot);
        Thing * GetFeetSlot();
        
        void SetBackSlot(Thing * BackSlot);
        Thing * GetBackSlot();
        
        void SetArrowSlot(Thing * ArrowSlot);
        Thing * GetArrowSlot();
        
        void SetNeckSlot(Thing * NeckSlot);
        Thing * GetNeckSlot();

        void SetRingSlot(Thing * RingSlot);
        Thing * GetRingSlot();
        
        void SetStatus(unsigned short s);
        bool IsPoison();
        bool IsFire();
        bool IsEnergy();
        bool IsDrunk();
        bool IsManaShield();
        bool IsParalyse();
        bool IsHaste();
        bool IsBattle();
        bool IsWater();
};

#endif
